package config

import "github.com/spf13/viper"

// Config 结构化及对应配置
type Config struct {
	ServerPort string `mapstructure:"server_port"`
	DBPath     string `mapstructure:"db_path"`
}

func LoadConfig(path string) (*Config, error) {
	v := viper.New()
	v.SetConfigName("config")
	v.SetConfigType("yaml")
	v.AddConfigPath(path) // 查找路径

	// 读取配置
	if err := v.ReadInConfig(); err != nil {
		return nil, err
	}

	// 解析配置
	var cfg Config
	if err := v.Unmarshal(&cfg); err != nil {
		return nil, err
	}
	return &cfg, nil

}
